package com.haier.npt.sso.oauth;

import com.haier.npt.security.domain.SysApp;

/**
 * 验证token 有效性的  服务接口
 * @author lixu
 *
 */
public interface OauthService {
	
	/**
	 * 验证token 的有效性
	 * @param token
	 * @return
	 */
	boolean  validate(Object  token);  
	
	
	/**
	 * 登录接口
	 * @param username 用户名 
	 * @param password 密码
	 * @return
	 */
	OauthResult login(String  credentials,String username , String password) ; 
	
	
	
	/**
	 * 根据token 获取 用户信息
	 * @param token
	 * @return
	 */
	Object getUserObject(String token) ; 
	
	
	/**
	 * 刷新token
	 * @param refreshToken
	 * @return
	 */
	boolean deleteToken(String token); 
	
	/**
	 * 通过appKey和token模拟登陆
	 * @param token
	 * @param appKey
	 * @return
	 */
	public SysApp login(String token, String appKey);
}
